se.cs.ieu.edu.tr
Course Name | |
Code | Semester | Theory (hour/week) | Application/Lab (hour/week) | Local Credits | ECTS |
---|---|---|---|---|---|
Fall |
Prerequisites |
| ||||||||
Course Language | |||||||||
Course Type | Required | ||||||||
Course Level | - | ||||||||
Mode of Delivery | - | ||||||||
Teaching Methods and Techniques of the Course | Problem SolvingApplication: Experiment / Laboratory / Workshop | ||||||||
Course Coordinator | |||||||||
Course Lecturer(s) | |||||||||
Assistant(s) |
Course Objectives | |
Learning Outcomes | The students who succeeded in this course;
|
Course Description |
| Core Courses | X |
Major Area Courses | ||
Supportive Courses | ||
Media and Managment Skills Courses | ||
Transferable Skill Courses |
Week | Subjects | Required Materials |
1 | Introduction: Mathematics Review and Recursion | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 1.1, 1.2, 1.3) |
2 | Programming Hints | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 1.4, 1.5, 1.6, 1.7) |
3 | Algorithm Analysis (basic concepts of algorithms, modeling runtimes, recurrences, BigOh notations) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 2.1, 2.2, 2.3) |
4 | Algorithm Analysis (Running Time Calculations) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 2.4) |
5 | Linear Data Structures: (Pointers, Linked Lists) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.1, 3.2, 3.3, 3.4, 3.5) |
6 | Linear Data Structures (Stacks) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.6) |
7 | Linear Data Structures (Queues) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.7) |
8 | Ara sınav / Midterm | |
9 | Trees (Binary trees) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.1, 4.2) |
10 | Trees (Binary search trees) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.3) |
11 | Trees (AVL Trees) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.4) |
12 | Priority Queues: Binary Heaps | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 6.1, 6.2, 6.3) |
13 | Sorting (Insertion Sort, Shellsort) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.1, 7.2, 7.3, 7.4) |
14 | Sorting (Heapsort, Mergesort ) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.5, 7.6) |
15 | Sorting (Quicksort) | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.7) |
16 | Review of the Semester |
Course Notes/Textbooks | M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 |
Suggested Readings/Materials |
Semester Activities | Number | Weigthing |
Participation | ||
Laboratory / Application | 10 | 30 |
Field Work | ||
Quizzes / Studio Critiques | ||
Portfolio | ||
Homework / Assignments | ||
Presentation / Jury | ||
Project | ||
Seminar / Workshop | ||
Oral Exam | ||
Midterm | 1 | 30 |
Final Exam | 1 | 40 |
Total |
Weighting of Semester Activities on the Final Grade | 60 | |
Weighting of End-of-Semester Activities on the Final Grade | 40 | |
Total |
Semester Activities | Number | Duration (Hours) | Workload |
---|---|---|---|
Course Hours (Including exam week: 16 x total hours) | 16 | 3 | 48 |
Laboratory / Application Hours (Including exam week: 16 x total hours) | 16 | 2 | |
Study Hours Out of Class | 15 | 3 | |
Field Work | |||
Quizzes / Studio Critiques | 5 | 2 | |
Portfolio | |||
Homework / Assignments | 2 | ||
Presentation / Jury | |||
Project | |||
Seminar / Workshop | |||
Oral Exam | |||
Midterms | 1 | 15 | |
Final Exams | 1 | 20 | |
Total | 170 |
# | Program Competencies/Outcomes | * Contribution Level | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute | |||||
2 | Be able to design and analyze software at component, subsystem, and software architecture level | X | ||||
3 | Be able to develop software by coding, verifying, doing unit testing and debugging | X | ||||
4 | Be able to verify software by testing its behaviour, execution conditions, and expected results | |||||
5 | Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation | |||||
6 | Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically | |||||
7 | To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning | |||||
8 | Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes | |||||
9 | Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance | X | ||||
10 | To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software | X | ||||
11 | To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering | X | ||||
12 | Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering | X | ||||
13 | Be able to use a foreign language to follow related field publications and communicate with colleagues | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest